package com.youkeda.DesertCamel.service;

import com.youkeda.DesertCamel.model.BookRecord;
import com.youkeda.DesertCamel.model.Result;

/**
 * 预约服务
 *
 * @author awake
 */
public interface BookService {

    /**
     * 预约旅行(需要判断当天的旅游单数是否超过了条件)
     * （比如一天只能有10次旅游预约记录，可在点击日期时就进行判断，通过checkService的方法）
     *
     * @param record 旅游记录
     * @return 返回成功信息，成功预约则返回预约记录
     */
    Result book(BookRecord record);

    /**
     * 取消预约
     *
     * @param record 要给定预约记录主键
     * @return 是否成功预约
     */
    boolean cancel(BookRecord record);

    /**
     * 获取预约信息
     *
     * @param record 旅游记录主键
     * @return 预约信息、成功信息
     */
    Result getBookInfo(BookRecord record);


    /**
     * 获取用户的所有预约记录
     *
     * @param userId 用户主键
     * @return 预约记录列表
     */
    Result getBookRecords(String userId);


}